Some methods (described further below) that provide generic access return values (or arrays of values) of type ValueResult<T>. ValueResult<T> is a type derived from ValueResult that holds returns with values of type T. Attempt to store a value of incompatible type causes an exception. This means that you specify the type of the value you expect from OPC, and safely assume that the value of given type will be returned.
Further generic types exist for various OPC specifications. See e.g. Generic Types for OPC Data Access.